[JAVA] 자바 빈(JAVA Bean)

업데이트:




자바 빈(JAVA Bean)이란 ?

자바의 재활용 가능한 컴포넌트 모델을 일컫는 말로 데이터 표현을 목적으로 하는 자바 클래스이다. 자바 빈즈 클래스로서 작동하기 위해서, 객체 클래스는 정해진 관례(Java Beans Convention) 를 따라야만 한다. Java Beans Convention은 다음과 같다.




  • 클래스는 인자(Argument)가 없는 기본 생성자(Default constructor)를 갖는다
  • 클래스의 멤버 변수는 프로퍼티(Properties)라고 하며 private 접근 제한자를 가져야 한다.
  • 클래스의 프로퍼티들은 Getter/Setter를 통해 접근할 수 있어야 한다

  • Getter의 이름은 get{프로퍼티 이름} 이며, Setter의 이름은 set{프로퍼티 이름}이다
  • Getter/setter의 접근 제한자는 public이어야 한다.
  • 프로퍼티의 타입이 Boolean인 경우 is로 시작할 수 있다
  • Getter의 경우 파라미터가 존재하지않아야 하며, setter의 경우 하나 이상의 파라미터가 존재한다
  • Read Only인 경우 Setter는 없을 수 있다.

  • Serializable 인터페이스를 implements 한다.
  • 자바빈 클래스는 패키징 되어야 한다. (Package)



바로 예제를 통해 알아보자.



🧑 PersonBean.java

public class PersonBean implements java.io.Serializable
{
    private String name;
    private boolean coding;

    // 기본 생성자 (인자가 없는).
    public PersonBean()
    {

    }

    public String getName()
    {
        return this.name;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    // Different semantics for a boolean field (is vs. get)

    public boolean isCoding()
    {
        return this.coding;
    }

    public void setCoding(boolean coding)
    {
        this.coding = coding;
    }
}


🧑 TestPersonBean.java

public class TestPersonBean
{
    public static void main(String[] args)
    {

        PersonBean person = new PersonBean();
        person.setName("Bob");
        person.setCoding(true);

        // Output: "Bob [coding]"
        System.out.print(person.getName());
        System.out.println(person.isCoding() ? " [coding]" : "");
    }
}





자바 빈(JAVA Bean) 사용 목적

자바 빈은 JSP에서 객체를 가져오기 위한 클래스로 DTO (Data Transfer Object) 라고도 한다. JSP 페이지에 View 부분과 로직이 섞여있어 복잡해 보이는 구성을 피하기 위해 JSP 페이지의 로직 부분을 분리해서 자바 빈으로 구성함으로써 코드의 재사용성을 높이고 프로그램의 효율을 높일 수 있다.

태그:

카테고리:

업데이트:

댓글남기기